A network enables data sharing among computing devices or hosts connected to that network. A network switch connects hosts to given network and can also connect one network segment to another. A network switch may inspect data packets as they are received. By inspecting a packet, a network switch may determine the source and destination of a packet and may forward the packet accordingly. In addition to routing and forwarding functions, a network switch may perform a variety of additional functions or tasks on the traffic forwarded by that switch. For example a network switch can provide a firewall or intrusion detection services on traffic processed by that switch.
Virtualization allows a computing device such as a network switch, service appliance, or computer server to do the job of multiple devices by sharing the resources of the single device across multiple virtualized environments rather than devoting the entire device to a single function. For example, a virtual machine (VM) provides a representation of a computing system, e.g., a virtualized processor, CPU or memory, allowing a host operating system and applications to execute on the virtualized hardware components. Running multiple VMs on a physical computing system typically increases the overall utilization system. A VM may run applications and may have a number of virtual ports—which may also be referred to as virtual interfaces—that are coupled to a virtual switch. That is, multiple VMs instantiated on a server may be connected to a virtualized network switch managed by the virtualization software. In turn, the virtualized network connections are connected to the physical ports on the computing system.